package cn.kone.remote.api;

import cn.kone.remote.dto.param.OrderDto;
import cn.kone.remote.dto.param.ProfitsharingDto;
import cn.kone.remote.dto.result.OrderProfitsharingResult;
import cn.kone.remote.dto.result.OrderResult;
import cn.kone.remote.fallback.RuleFeignApiFallback;
import cn.kone.result.JSONResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 使用 @FeignClient 注解来标识这是一个 Feign 客户端接口，用于调用名为 "it-fccar-service-rule" 的远程服务
 */
@FeignClient(name = "it-fccar-service-rule",fallbackFactory = RuleFeignApiFallback.class)
public interface RuleFeignApi {

    // 使用 @RequestMapping 注解来指定远程服务的具体路径
    // 这里指定了 "/addOrder"，意味着调用远程服务的 "/addOrder" 接口
    @RequestMapping("/addOrder")
    // 使用 @RequestBody 注解将方法参数转换为请求体
    JSONResult<OrderResult> addOrder(@RequestBody OrderDto orderDto);

    @RequestMapping("/calprofitsharing")
    JSONResult<OrderProfitsharingResult> calprofitsharing(@RequestBody ProfitsharingDto profitsharingDto);

}
